\documentclass [a4paper, 14pt] {vstubachelor}

\author{Фамилия~И.О.}
\title{Разработка модуля визуализации поведения интеллектуальных агентов}
\group{ИВТ-463}
\documentcode{ВРБ--40~461~806--10.27--XX--YY.81}

% В ТЗ нет глав, так что убираем номер главы из заголовка
\renewcommand*\thesection{\arabic{section}}

\begin {document}
\tableofcontents
\section{Введение}
\subsection{Наименование программного изделия}
Разработка подлежит программный модуль, компонент среды разработки игровой визуализации. Полное наименование продукта «Модуль визуализации поведения интеллектуальных агентов». Краткое наименование – Модуль ВПИА.
\subsection{Область применения}
Область применения модуля – разработка мультиагентных систем.  Система применяется для визуализации работы алгоритмов управления мультиагентными системыми: визуализации параметров и состояния алгоритмов управления поведения (Steering Behavior),  проигрывания анимации, соотвествующей выполняемым действиям агента. 
\section{Основания для разработки}
\subsection{Документ, на основании которого ведется разработка}
Разработка ведется на основании задания на бакалаврскую работу.
\subsection{Организация, утвердившая этот документ, и дата его утверждения}

\subsection{Наименование темы разработки}
Тема разработки – модуль визуализации поведения интеллектуальных агентов.
\section{Назначение разработки}
Модуль создается для визуализации поведения интеллектуальных агентов в мультиагентной системе.
\section{Требования к программе}
\subsection{Требования к функциональным характеристикам}
Состав выполняемых функций 

Главные фукции:

Просмостр поведения каждого активного модели (ИА) с помощью специальных камер.\\

Основные функции:
\begin{itemize}
\item Работа с файлами
   \begin{itemize}
   \item Загрузка нового мира из файла
   \item Загрузка параметров моделей из файла
   \item Сохранение состояние игры в файл
   \item Сохранение состояние и параметров моделей в файл
   \end{itemize}
\item Синхронизация графической модели и модели поведения
  \begin{itemize}
  \item	Синхронизация анимации и выполняемых действий
  \item Визуализация состояния агента с помощью отладки информации
   \begin{enumerate}
   \item Текущая скорость агента в некоторый момент 
   \item Позиция агента и масса агента в игровом мире
   \item Текущее действие каждого агента

   \end{enumerate}
  \end{itemize}
\item -	Синхронизация графической модели и физической модели
  \begin{itemize}
   \item Синхронизация координат
   \item Синхронизация углов поворота
   \item Синхронизация скорости
  \end{itemize}
\end{itemize}
\subsection{Организация входных и выходных данных}
\subsubsection{Входные данные}
В процессе работы программы вводимой информацией являются конфигурация виртуального мира и параметры моделей (активных и пассивных): изображение, текстуры и физические модели, сохраняемые в формате .b3d.

Входными данными также являются файлы сохранений в формате XML.

\subsubsection{Выходные данные}
Выводимыми данными программы должна быть информация о сюжетной линии, ее элементах, предоставляемая игре, файлы сюжетной линии и файлы сохранений.

\subsection{Временные характеристики и размер ОП}
Время реакции модуля на действия пользователя определяется эксплуатационными характеристиками используемого аппаратного и программного обеспечения. 

Время одного действия активной модели зависит от самого действия, а именно от конфигурации используемого аппаратного и программного обеспечения. 

Размер оперативной памяти, используемой модулем, определяется сложностью алгоритмов управления поведения ИА и количество моделей в виртуальном мире.

\subsection{Требования к надежности}
\subsubsection{Требования к надежному функционированию}
 Модуль должен нормально функционировать при бесперебойной работе ЭВМ, операционной системы. 
 
При возникновении боя в работе аппаратуры или операционной системы, восстановление нормальной работы программы должно производиться после перезагрузки операционной системы и запуска исполняемого файла.

При возникновении сбоя при запуска приложения, восстановление запуска должно производиться после запуска исполняемого файла и перезапуска приложения.

При возникновении сбоя в работе приложения, восстановление работоспособности происходит после перезапуска приложения.

\subsubsection{Контроль входной и выходной информации}
Контроль вводимой информации осуществляется при вводе данных. В случае  возникновения ошибки выводится соответствующее сообщение, изменение данных должно быть прервано.

\subsubsection{Время восстановления после отказа}
Время восстановления после отказа должно состоять из времени перезапуска операционной системы и запуска исполняемого файла, использующего модуля, а именно количества моделей, используемых в игре.

\subsection{Условия эксплуатации}
Эксплуатация программы должна проводиться в соответствии с основными требованиями, накладываемыми на эксплуатацию аппаратного обеспечения.

\subsubsection{Требования к составу и параметрам технических средств}
Для использования программы необходимо иметь следующий набор технических средств:
\begin{itemize}
\item	ПЭВМ со следующими характеристиками: тактовая частота процессора - 2 ГГц; объем оперативной памяти - 512 Мб,  видеопамяти - 128 Мб и жесткого диска – 5 Гб;
\item	монитор;
\item	клавиатура;
\item	манипулятор «мышь».
\end{itemize}

\subsection{Требования к информационной и программной совместимости}
\subsubsection{Требования к информационным структурам на входе}
Входные данные программы должны соответствовать Приложению Г  данного технического задания.

\subsubsection{Требования к информационным структурам на выходе}
 Корректность заполнения структуры библиотеки .lib.
 
 \subsubsection{Требования к методам решения}
 Алгоритмы, используемые в программном комплексе, описываются диаграммами активностей в Приложении А.
 
Для реализации синхронизации  компонентов AI  и  физического  должен быть использован метод, описанный в Приложении Б.

Для реализации синхронизации  компонентов графического  и  физического  должен быть использован метод, описанный в Приложении В.

Для визуализации поведения ИА должен использоваться шаблон проектирования Model - View - Controller (MVC). 

  Визуализируется не только основная модель агента, но и отладочные данные, такие как очертания физической модели, направление движения, векторы ускорения, скорости.

\subsubsection{Требования к языкам программирования}
Программа должна быть написана на языке  С++  с использованием игрового движка Irrlicht (Irllicht Engine).
\subsubsection{Требования к программным средствам, используемым программой }
Для поддержания работы модуля визуализации должна быть использована операционная система Microsoft Windows XP SP3/Vista SP1/Seven. Других специальных системных средств и систем программа использовать не должна. При запуске программы под ОС, не входящие в вышеперечисленные, разработчик не несет ответственности за корректную работу разрабатываемого изделия.

Для работы со звуком должна быть использована библиотека Irrklang версии 1.4.0b.

Модуль создается с использованием игрового движка Irrlicht версии 1.7.

Для работы с файлами для сохранения данных должна быть использована библиотека irrXML вместо с игровом движком Irrlicht версии 1.7.

\subsection{Требования к маркировке и упаковке}
Программный модуль должен поставляться в комплекте «Модуль визуализации поведения интеллектуальных агентов» в виде msi-пакета, записанного на CD-диск.

\subsection{Требования к транспортированию и хранению}
Условия транспортирования, места хранения и сроки хранения программного продукта должны соответствовать условиям транспортирования и хранения СD-диска, указанным на его упаковке.
\subsection{Требования к программной документации}
Состав программной документации должен включать следующие документы:
\begin{enumerate}
\item руководство системного администратора;
\item руководства пользователя. 
\end{enumerate}
\section{Технико-экономические показатели}
Оценка технико-экономических показателей в рамках данной разработки не проводится.
\section {Стадии и этапы разработки}
Разработка программы должна выполняться по следующим этапам:

\begin{itemize}
\item разработка, согласование и утверждение документа «Техническое задание» – 4 недели (16.03 – 14.04);
\item	разработка рабочей документации к программе – 2 недели (11.05-24.05);
\item	приемка-сдача с исправлением обнаруженных недостатков в программе – 1 неделя (03.06-10.06);
\item	внедрение.
\end{itemize}
\section{Порядок контроля и приемки}
\subsection{Виды испытаний}
Испытание программы должно проводиться заказчиком. Проверочные тесты разрабатываются заказчиком.
\subsection{Общие требования к приемке}
Приемка программы должна осуществляться заказчиком в течение недели. Программа должна считаться годной к приемке, если она удовлетворяет всем пунктам данного технического задания.
В случае выявления ошибок в программе и программной документации, разработчик должен исправить обнаруженные недостатки в течение недели. После этого необходимо провести повторную приемку.



\appendix 

\chapter{Функциональная структура программы}
\chapter{Функции для реализации синхронизации  физического  и  графичекого компонентов}
\chapter{Функции для реализации синхронизации компонентов AI и физического}
\chapter{Форматы файлов}
\chapter{Макеты экранных форм}
\end {document}